package com.mywork.service;

import java.util.Date;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.mywork.dao.PatientMapper;
import com.mywork.po.Page;
import com.mywork.po.Patient;

@Service
public class PatientService {
	@Autowired
	PatientMapper patientDao;
	
	public List<Patient> getPatients(){
		return patientDao.selectAll();
	}
	/**
	 * 插入一个病人
	 */
	public void addPatient(Patient patient){
		patient.setStartdate(new Date());
		patientDao.insert(patient);
	}
	
	/**
	 * 通过页面对象获取数据
	 * @param page
	 */
	public List<Patient> getPatients(Page page) {
		// TODO 自动生成的方法存根
		if(page.getTotalRecords()==-1){
			page.setTotalRecords(patientDao.selectListCount());
		}
		
		return patientDao.selectForLimit(page.getPageNo()*page.getPageSize(),page.getPageSize());
	}
	/**
	 * 删除一个病人
	 * @param patient
	 */
	public void delectPatient(int patientid) {
		// TODO 自动生成的方法存根
		patientDao.deleteByPrimaryKey(Long.valueOf(patientid).longValue());
	}
	/**
	 * 修改病人信息
	 * @param patient
	 */
	public void updatePatient(Patient patient) {
		// TODO 自动生成的方法存根
		//有选择的更新，即如果更新内容输入为空，那么按老内容进行提交
		patient.setStartdate(new Date());
		patientDao.updateByPrimaryKeySelective(patient);
	}
	public Patient getPatientByCardId(String cardId) {
		// TODO 自动生成的方法存根
		return patientDao.selectByCardId(cardId);
	}
	public int getCountOfPatients() {
		// TODO 自动生成的方法存根
		return patientDao.getCountOfPatients();
	}
	public Patient getPatientByPatientId(String patientId) {
		// TODO 自动生成的方法存根
		return patientDao.selectByPrimaryKey(Long.valueOf(patientId).longValue());
	}
	public Patient getPatientByCardIdOrName(String nameOrCardId) {
		// TODO 自动生成的方法存根
		return patientDao.selectByCardIdOrName(nameOrCardId);
	}
}
